package com.yuntu.utils;

import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;

/**
 * @author MrWang-shuizhishuiheshui
 * @description 基本dao层操作  增删改 和 查询
 */
public class BaseDao {
    protected Connection con=null;
    protected PreparedStatement ps=null;
    protected ResultSet rs=null;

    /**
     * 用于增删改的执行方法
     * @param sql sql语句
     * @param params 填充占位符的参数
     * @return
     */
    protected boolean executeUpd(String sql,Object... params) throws SQLException {
        //1.建立连接
        con=JDBCUtils.getConnect();
        //2.创建ps对象
        ps=con.prepareStatement(sql);
        //3.填充占位符
        if(params!=null){
            //循环填充
            for (int i = 0; i < params.length; i++) {
                ps.setObject(i+1,params[i]);
            }
        }
        //4.执行
        int i = ps.executeUpdate();
        if (i>0){
            return true;
        }
        return false;
    }

    /**
     * 用来查询
     * @param sql
     * @param params
     * @return
     * @throws SQLException
     */
    protected ResultSet executeQue(String sql,Object... params) throws SQLException {
        //1.建立连接
        con=JDBCUtils.getConnect();
        //2.创建ps对象
        ps=con.prepareStatement(sql);
        //3.填充占位符
        if(params!=null){
            //循环填充
            for (int i = 0; i < params.length; i++) {
                ps.setObject(i+1,params[i]);
            }
        }
        return ps.executeQuery();
    }
}
